Internet Computer Canister Development Kit
This crate provides attribute macros, with which you can annotate regular rust functions to be public interfaces of a canister.